什麼是網站(Web Site)、網頁(Web Page)、首頁(Home Page)?!
- 網頁(Web Page):是網際網路(Internet)上的一個獨立檔案。如果你透過全球資訊網(World Wide Web)利用電腦閱讀這個頁面的話,這個頁面就是網頁了。
- 網站(Web Site):把多個原本是獨立的網頁集合起來,就會合成為「網站(Web Site)」。
- 首頁(Home Page):又稱為主頁、Top Page或Page,是存在於全球資訊網(WWW,唸法:triple w)中已公開網站的入口頁面,原本是指啟動網頁瀏覽器時的起始頁面。
寫網頁要學那些東西呢?!
依據全球資訊網協會(W3C)的推薦,HTML、CSS、JavaScript 和 WebAssembly 一起,為寫 Web 的四種語言。
https://www.w3.org/2019/12/pressrelease-wasm-rec.html.en
以我個人認為上述四項只是冰山一角,因為網頁的領域太大且太廣,或許不會每一樣都碰到,但當急需使用時再碰往往都已經來不及了,以下是以前端、後端、全端的分類來看看大概是學哪些?!
前端、後端、全端是什麼?!
因為一般網頁是主從式架構(Client–server model)也稱客戶端/伺服器架構(C/S架構)〔如上圖〕,所以在分工上才有以客戶端(主)設計為主的「前端」及伺服器(從)架設與管理的「後端」,至於「全端」這一名詞是從2010年以後才開始有的稱呼,從字面上很明白的可以知道 全端=前端+後端+管理資訊系統(Management Information System,MIS) ,呃......我這次暑假就有體會到全端的小小感覺!!
前端(Front-End)簡介
- 面向「使用者」。
- 使用者介面/使用者體驗設計(User Interface/User Experience Design,UI/UX Design)、線框圖(Wireframe)、規劃網站架構(參考:https://reurl.cc/Oqk97r)、搜尋引擎優化(Search Engine Optimization,SEO)、內容傳遞網路(Content Delivery Network,CDN)、版本控制(Version control)......等相關理論。
- 主要實戰技術:Git、超文本標記語言(HyperText Markup Language,HTML)、階層式樣式表(Cascading Style Sheets,CSS)、CSS預處理器(CSS Preprocessor:Sass/SCSS、Less、Stylus......等)、自適應網頁設計(Responsive web design,RWD)、Bootstrap、JavaScript、TypeScript、Dart programming language......等等。
後端(Back-End)簡介
- 面向「伺服器」。
- 網路概論/電腦網路原理、△管理資訊系統(Management Information System,MIS)、Cisco Packet Tracer網路規劃與管理技術、Linux(Apache)/Microsoft(IIS)/Apple(MacOS Server)伺服器架設、虛擬機器(virtual machine)/作業系統層虛擬化(例如:Docker、Podman、Kubernetes......等)、資訊與網路安全技術、版本控制(Version control)......等相關理論基礎。
- 主要實戰技術:Git Server、PHP on Laravel、Python on Django、Ruby on Rails、ASP.NET Core、Node.js / Deno、資料庫管理系統(DataBase Management System:phpMyAdmin(MariaDB)、Oracle Database、Microsoft SQL Server、NOSQL(Not Only SQL)DBMS......等)、撰寫Web API、網站測試自動化技術(如:伺服器壓力測試、瀏覽器相容性測試、安全性測試......等)......等等。
全端(Full Stack)簡介
- 面向「使用者」與「伺服器」。
- 理論基礎以及主要實戰技術除了上述的「前端」與「後端」都要學之外,最好還要精通資訊管理系統(Management Information System,MIS)、RESTful API、Web網站測試技術......等。